﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using public_dbOpt;

namespace prjEMR22_154
{
    public partial class MR_contrl_exdit_search : Form
    {
        dbOPT dataOpt = new dbOPT();
        public static string strTemplateID;


        public MR_contrl_exdit_search()
        {
            InitializeComponent();
        }

        private void btnFind_Click(object sender, EventArgs e)
        {
            string StrFind = "";    //执行语句
            DataSet ds = new DataSet();//创建数据集
            bool Empty_flag = false;

            foreach (Control ctrl in this.Controls)
            {
                if (ctrl is TextBox)
                {
                    TextBox textBox = (TextBox)ctrl;
                    if (textBox.Text.Length > 0)
                    {
                        Empty_flag = true;
                        if (StrFind != "")
                            StrFind = StrFind + String.Format("and {0} like '%{1}%' ", textBox,Name, textBox.Text);
                        else
                            StrFind = StrFind + String.Format("{0} like '%{1}%' ", textBox.Name ,textBox.Text);
                    }

                    // 如果列不存在，可以选择记录日志、抛出异常或执行其他操作  
                    // else { /* 处理列不存在的情况 */ }  
                }
            }
            if (Empty_flag)  //输入为非空查询
            {
                StrFind = "select * from templateinfo where " + StrFind + ";";
                ds = dataOpt.BindDataGridView(dgvPatient, StrFind);     //执行查询语句
                if (ds != null && ds.Tables[0].Rows.Count != 0) { }//检查查询结果是否为空，非空则不执行任何操作
                else
                {
                    // 处理没有数据或查询失败的情况  
                    MessageBox.Show("查询为空。");
                }
            }
            else   //空查询，显示表中全部信息
            {
                StrFind = "select * from templateinfo;";
                dataOpt.BindDataGridView(dgvPatient, StrFind);
            }
           
        }

        private void MR_contrl_exdit_search_Load(object sender, EventArgs e)
        {

        }

        private void dgvPatient_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0) // 确保单击的是数据行，而不是列标题  
            {
                // 确保点击的是有效的单元格  
                if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
                {
                    // 获取点击的单元格所在的行对象  
                    DataGridViewRow row = dgvPatient.Rows[e.RowIndex];

                    // 访问同一行的其他单元格的值  
                    // 假设你有一个名为 "HspID" 的列，并且你想获取这个列的值  
                    strTemplateID = row.Cells["TemplateID"].Value.ToString();

                    
                    MR_contrl_exdit_in PatientInfo = new MR_contrl_exdit_in(); //实例化一个子窗口
                    //设置子窗口不显示为顶级窗口
                    PatientInfo.TopLevel = false;
                    //设置子窗口的样式，没有上面的标题栏
                    PatientInfo.FormBorderStyle = FormBorderStyle.None;
                    //填充
                    PatientInfo.Dock = DockStyle.Fill;
                    //清空Panel里面的控件 
                    this.contentPanel.Controls.Clear();
                    //加入控件
                    this.contentPanel.Controls.Add(PatientInfo);
                    //让窗体显示
                    PatientInfo.Show();
                }
            } 
        }

        //执行导入功能
        private void template_in_Click(object sender, EventArgs e)
        {
           
        }

        private void contentPanel_Paint(object sender, PaintEventArgs e)
        {

        }

        private void splitter1_SplitterMoved(object sender, SplitterEventArgs e)
        {

        }

        private void label10_Click(object sender, EventArgs e)
        {

        }

        private void label11_Click(object sender, EventArgs e)
        {

        }

    }
}
